1. Field of the Invention
The present invention relates generally to the field of distributing clocks over a packet-switched network. More particularly, it relates to a system and method for overcoming wander accumulation, such that clock signals can be distributed across a large network with high precision.
2. Description of Related Art
Synchronizing the elements that comprise a network is fundamentally important to achieving good network performance. This is especially true for telecommunication systems and control systems that require all nodes and users to maintain good synchronization with one another. As more systems become Internet-Protocol (IP) based, the need for high-precision time distribution only increases.
In general, synchronizing clocks over a network requires distributing timing information from a master clock to a number of slave clocks throughout the network. However, variable latencies and traffic-dependent delays make such distribution schemes challenging in the context of packet-based networks. Thus, the Precision Time Protocol (PTP) IEEE-1588 standard has emerged as one way to address many of the concerns associated with packet-based time synchronization of network elements. PTP addresses the time-transfer latency that arises as time-packet and data-packet traffic moves through the hubs, switches, cables and other hardware that makes up the network.
PTP operates using a master-slave concept. The master is equipped with a high-precision clock, such as an atomic clock. The master and slave devices exchange data packets that enable the slave device to lock to the master clock reference. For example, FIG. 1 describes the basic PTP packet exchange process for transferring timing information. The master unit 102 sends out a Synchronization message 106 on a regular interval. The slave device 104 receives the time-stamped Synchronization message 106 and may immediately send back a Delay_Request packet 108 to the master 102. The master then responds with a Delay_Response packet 110. This exchange repeats, with the master unit 102 sending out Synchronization messages 112, 114, which are followed by corresponding Delay_Request and Delay_Response packets. Receipt of the Synchronization message allows the slave to align its local timebase to the frequency of the master clock, and the additional Delay_Request and Delay_Response packets allow the slave to further align its local clock phase to the master clock, for complete synchronization. Other methods of synchronization are also used in the art, such as Network Time Protocol (NTP) version 4. While the implementation details differ from PTP, NTP also relies on the exchange of timing messages from master to slave and from slave to master to achieve synchronization.
A slave clock locked to a master clock, as described above, is known as an ordinary clock. The PTP protocol also defines a boundary clock. A boundary clock functions as an ordinary clock but in addition also serves as a master clock to other downstream ordinary or boundary clocks. A chain of such boundary clocks thus provides a way to distribute the grand master clock reference across a very large network. For example, FIG. 2 illustrates a grand master clock 202 networked with four boundary clocks, 204, 206, 208, and 210. The grand master clock 202 and the first boundary clock 204 exchange PTP packets 212 in order to phase lock the first boundary clock 204 to the master clock 202. Boundary clock 206 is locked to boundary clock 204 via PTP packet exchange 214 in the same manner. The third and fourth boundary clocks, 208 and 210, are locked to the preceding boundary clock by the exchange of PTP packets 216 and 218, in the same way. The last boundary clock 210 is thus locked to the grand master clock 202 via all the intermediate boundary clocks.
This method could work well for some applications where the number of boundary clocks in the chain is very small, but for many others, it does not achieve sufficient precision. The problem with this architecture is that each boundary clock introduces a certain amount of clock error. The error introduced by each boundary clock is passed along to the next one in the chain such that the overall error continues to grow. For clocks late in the distribution chain, the error may grow to an unacceptable magnitude. This problem is especially acute for very large networks that may include many boundary clock stages. Accordingly, it would be advantageous to provide a system and method for eliminating the accumulation of boundary clock error to enable precision clock distribution over large sized networks.